package com.shujia.sql

import org.apache.spark.sql.{DataFrame, SparkSession}

object Code04OrcSource {
  def main(args: Array[String]): Unit = {
    val spark: SparkSession = GetSpark.spark("orc")

//    val dataFrame: DataFrame = spark
//      .read
//      .format("csv")
//      .option("sep", ",")
//      // 1500100001,施笑槐,22,女,文科六班
//      .schema("id String,name String,age int,gender String,clazz String")
//      .load("spark_code/data/students.txt")
//
//
//    // 将DateFrame保存成ORC
//    dataFrame.write.orc("spark_code/data/orc1")
//    dataFrame.write.format("orc").save("spark_code/data/orc2")



    // orc中保存了当前数据的schema信息
//    spark
//      .read
//      .orc("spark_code/data/orc2")
//      .show(10)

//    spark.read.format("orc").load("spark_code/data/orc2").show(10)

    // 由于roc中保存了Schema信息，那么schema函数中如果给定具体的元信息，那么可以取出其中的部分列
    spark.read.format("orc")
      .schema("id String")
      .load("spark_code/data/orc2").show(10)




  }
}
